package be.kuleuven.cs.mop.app.controllers;


import be.kuleuven.cs.mop.app.System;


/**
 * A class offering controllers
 */
public class Controllers {
	
	/**
	 * The system has four controllers available
	 */
	private final ProjectController		ctrlProjects;
	private final ResourceController	ctrlResources;
	private final TaskController		ctrlTasks;
	private final UserController		ctrlUsers;
	
	
	public Controllers(final System system) {
		ctrlProjects	= new ProjectController(system);
		ctrlResources	= new ResourceController(system);
		ctrlTasks		= new TaskController(system);
		ctrlUsers		= new UserController(system);
	}
	
	
	
	/**
	 * Returns the {@link ProjectController}
	 */
	public ProjectController getControllerProjects() { return ctrlProjects; }
	
	/**
	 * Returns the {@link ResourceController}
	 */
	public ResourceController getControllerResources() { return ctrlResources; }
	
	/**
	 * Returns the {@link TaskController}
	 */
	public TaskController getControllerTasks() { return ctrlTasks; }
	
	/**
	 * Returns the {@link UserController}
	 */
	public UserController getControllerUsers() { return ctrlUsers; }
}